# 使用官方 Python 运行时作为基础镜像
FROM python:3.9-slim

# 设置环境变量
ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    DJANGO_SETTINGS_MODULE=docker_file_django.settings

# 创建工作目录并设置为工作目录
WORKDIR /app

# 安装系统依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    libpq-dev \
    && rm -rf /var/lib/apt/lists/*

# 复制 requirements.txt 并安装 Python 依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 复制项目文件
COPY . .

# 收集静态文件 (生产环境使用)
# RUN python manage.py collectstatic --noinput

# 暴露端口 (Django 默认运行在 8000 端口)
EXPOSE 8000

# 运行命令
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "docker_file_django.wsgi:application"]

# docker build -t docker_file_django .
# docker run -d -p 8000:8000 --name docker_file_django docker_file_django
# docker save -o django-images.tar docker_file_django redis postgres   # 打包多个镜像
# docker save docker_file_django | gzip > docker_file_django.tar.gz  # 使用 gzip 压缩（推荐）
# gunzip -c my-django-app.tar.gz | docker load   # 加载镜像
# docker load -i my-django-app.tar